package com.yidu.best.basicSetup.accountset.domain;

import java.math.BigDecimal;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

public class AccountVo {
	/**
	 * 账户Id
	 */
	private String accountId;
	/**
	 * 账户编号
	 */
	private String accountNO;
	/**
	 * 账户名
	 */
	private String accountName;
	/**
	 * 开户银行名称
	 */
	private String bankName;
	/**
	 * 账户类型
	 */
	private String accountType;
	/**
	 * 卡号利率
	 */
	private BigDecimal CardRates;
	/**
	 * 计息期间
	 */
	private Integer valueDate;
	/**
	 * 开户时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date openTime;
	/**
	 * 结束时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date endTime;
	
	private Integer page;
	
	private Integer limit;
	
	public AccountVo(){
		
	}

	public String getAccountId() {
		return accountId;
	}

	public void setAccountId(String accountId) {
		this.accountId = accountId;
	}

	public String getAccountNO() {
		return accountNO;
	}

	public void setAccountNO(String accountNO) {
		this.accountNO = accountNO;
	}

	public String getAccountName() {
		return accountName;
	}

	public void setAccountName(String accountName) {
		this.accountName = accountName;
	}

	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	public String getAccountType() {
		return accountType;
	}

	public void setAccountType(String accountType) {
		this.accountType = accountType;
	}

	public BigDecimal getCardRates() {
		return CardRates;
	}

	public void setCardRates(BigDecimal cardRates) {
		CardRates = cardRates;
	}

	public Integer getValueDate() {
		return valueDate;
	}

	public void setValueDate(Integer valueDate) {
		this.valueDate = valueDate;
	}

	public Date getOpenTime() {
		return openTime;
	}

	public void setOpenTime(Date openTime) {
		this.openTime = openTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public Integer getPage() {
		return page;
	}

	public void setPage(Integer page) {
		this.page = page;
	}

	public Integer getLimit() {
		return limit;
	}

	public void setLimit(Integer limit) {
		this.limit = limit;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((CardRates == null) ? 0 : CardRates.hashCode());
		result = prime * result + ((accountId == null) ? 0 : accountId.hashCode());
		result = prime * result + ((accountNO == null) ? 0 : accountNO.hashCode());
		result = prime * result + ((accountName == null) ? 0 : accountName.hashCode());
		result = prime * result + ((accountType == null) ? 0 : accountType.hashCode());
		result = prime * result + ((bankName == null) ? 0 : bankName.hashCode());
		result = prime * result + ((endTime == null) ? 0 : endTime.hashCode());
		result = prime * result + ((limit == null) ? 0 : limit.hashCode());
		result = prime * result + ((openTime == null) ? 0 : openTime.hashCode());
		result = prime * result + ((page == null) ? 0 : page.hashCode());
		result = prime * result + ((valueDate == null) ? 0 : valueDate.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		AccountVo other = (AccountVo) obj;
		if (CardRates == null) {
			if (other.CardRates != null)
				return false;
		} else if (!CardRates.equals(other.CardRates))
			return false;
		if (accountId == null) {
			if (other.accountId != null)
				return false;
		} else if (!accountId.equals(other.accountId))
			return false;
		if (accountNO == null) {
			if (other.accountNO != null)
				return false;
		} else if (!accountNO.equals(other.accountNO))
			return false;
		if (accountName == null) {
			if (other.accountName != null)
				return false;
		} else if (!accountName.equals(other.accountName))
			return false;
		if (accountType == null) {
			if (other.accountType != null)
				return false;
		} else if (!accountType.equals(other.accountType))
			return false;
		if (bankName == null) {
			if (other.bankName != null)
				return false;
		} else if (!bankName.equals(other.bankName))
			return false;
		if (endTime == null) {
			if (other.endTime != null)
				return false;
		} else if (!endTime.equals(other.endTime))
			return false;
		if (limit == null) {
			if (other.limit != null)
				return false;
		} else if (!limit.equals(other.limit))
			return false;
		if (openTime == null) {
			if (other.openTime != null)
				return false;
		} else if (!openTime.equals(other.openTime))
			return false;
		if (page == null) {
			if (other.page != null)
				return false;
		} else if (!page.equals(other.page))
			return false;
		if (valueDate == null) {
			if (other.valueDate != null)
				return false;
		} else if (!valueDate.equals(other.valueDate))
			return false;
		return true;
	}

	@Override
	public String toString() {
		return "AccountVo [accountId=" + accountId + ", accountNO=" + accountNO + ", accountName=" + accountName
				+ ", bankName=" + bankName + ", accountType=" + accountType + ", CardRates=" + CardRates
				+ ", valueDate=" + valueDate + ", openTime=" + openTime + ", endTime=" + endTime + ", page=" + page
				+ ", limit=" + limit + "]";
	}

	public AccountVo(String accountId, String accountNO, String accountName, String bankName, String accountType,
			BigDecimal cardRates, Integer valueDate, Date openTime, Date endTime, Integer page, Integer limit) {
		super();
		this.accountId = accountId;
		this.accountNO = accountNO;
		this.accountName = accountName;
		this.bankName = bankName;
		this.accountType = accountType;
		CardRates = cardRates;
		this.valueDate = valueDate;
		this.openTime = openTime;
		this.endTime = endTime;
		this.page = page;
		this.limit = limit;
	}

	
}
